Systems and methods for multi-output electrostatic haptic effects

ABSTRACT

One illustrative system disclosed herein includes a processor configured to determine a haptic effect, wherein the haptic effect includes a static ESF effect or a confirmation ESF effect; and transmit a haptic signal associated with the haptic effect. The illustrative system also includes an ESF controller in communication with the processor, the ESF controller configured to receive the haptic signal, determine an ESF signal based at least in part on the haptic signal, and transmit the ESF signal. The illustrative system further includes an ESF device in communication with the ESF controller, the ESF device including an ESF cell and configured to receive the ESF signal and output the haptic effect.

FIELD OF THE INVENTION

The present invention relates to the field of user interface devices.More specifically, the present invention relates to multi-outputelectrostatic haptic effects.

BACKGROUND

As computer-based systems become more prevalent, the quality of theinterfaces through which humans interact with these systems is becomingincreasingly important. One interface that is of growing popularity dueto its intuitive and interactive nature is the touchscreen display.Through a touchscreen display, a user can perform a variety of tasks bycontacting a region of the touchscreen with the user's finger. In orderto create a more intuitive and enhanced user experience, designers oftenleverage user experience with physical interactions. This is generallydone by reproducing some aspects of interactions with the physical worldthrough visual, audio, and/or haptic feedback. Haptic feedback oftentakes the form of a mechanical vibration. There is a need for additionalsystems and methods to generate haptic feedback.

SUMMARY

Embodiments of the present disclosure comprise computing devicesfeaturing multi-output electrostatic force (ESF) haptic effects. In oneembodiment, a system of the present disclosure may comprise a processorconfigured to determine a haptic effect, wherein the haptic effectcomprises a static ESF effect or a confirmation ESF effect; and transmita haptic signal associated with the haptic effect. The system may alsocomprise an ESF controller in communication with the processor, the ESFcontroller configured to receive the haptic signal, determine an ESFsignal based at least in part on the haptic signal, and transmit the ESFsignal. The system may further comprise an ESF device in communicationwith the ESF controller, the ESF device comprising an ESF cell andconfigured to receive the ESF signal and output the haptic effect.

In another embodiment, a method of the present disclosure may comprise:determining a haptic effect, wherein the haptic effect comprises astatic ESF effect or a confirmation ESF effect; transmitting a hapticsignal associated with the haptic effect to an ESF controller; anddetermining an ESF signal based at least in part on the haptic signal.The method may further comprise transmitting the ESF signal to an ESFdevice configured to output the haptic effect, the ESF device comprisingan ESF cell; and outputting the haptic effect. Yet another embodimentcomprises a computer-readable medium for implementing such a method.

These illustrative embodiments are mentioned not to limit or define thelimits of the present subject matter, but to provide examples to aidunderstanding thereof. Illustrative embodiments are discussed in theDetailed Description, and further description is provided there.Advantages offered by various embodiments may be further understood byexamining this specification and/or by practicing one or moreembodiments of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

A full and enabling disclosure is set forth more particularly in theremainder of the specification. The specification makes reference to thefollowing appended figures.

FIG. 1 is a block diagram showing a system for providing multi-outputelectrostatic haptic effects according to one embodiment;

FIG. 2 shows an embodiment of a system for providing multi-outputelectrostatic haptic effects;

FIG. 3 is another block diagram showing a system for providingmulti-output electrostatic haptic effects according to one embodiment;

FIG. 4 shows an external view of a system for providing multi-outputelectrostatic haptic effects according to another embodiment;

FIG. 5 shows an embodiment of a system for providing multi-outputelectrostatic haptic effects;

FIG. 6 shows another embodiment of a system for providing multi-outputelectrostatic haptic effects;

FIG. 7 shows yet another embodiment of a system for providingmulti-output electrostatic haptic effects;

FIG. 8 shows still another embodiment of a system for providingmulti-output electrostatic haptic effects;

FIG. 9 shows an embodiment of an external view of a system for providingmulti-output electrostatic haptic effects;

FIG. 10 shows another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects;

FIG. 11 shows yet another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects;

FIG. 12 shows an embodiment of an external view of a system forproviding multi-output electrostatic haptic effects;

FIG. 13 shows another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects;

FIG. 14a shows another embodiment of a system for providing multi-outputelectrostatic haptic effects;

FIG. 14b shows another view of the embodiment of a system for providingmulti-output electrostatic haptic effects shown in FIG. 14 a;

FIG. 15 shows an embodiment of a system for providing multi-outputelectrostatic haptic effects; and

FIG. 16 is a flow chart of steps for performing a method for providingmulti-output electrostatic haptic effects according to one embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to various and alternativeillustrative embodiments and to the accompanying drawings. Each exampleis provided by way of explanation, and not as a limitation. It will beapparent to those skilled in the art that modifications and variationscan be made. For instance, features illustrated or described as part ofone embodiment may be used in another embodiment to yield a stillfurther embodiment. Thus, it is intended that this disclosure includemodifications and variations as come within the scope of the appendedclaims and their equivalents.

Illustrative Examples of Multi-output Electrostatic Haptic Effects

One illustrative embodiment of the present disclosure comprises a gamingsystem. The gaming system includes a game console in communication witha user interface device, such as a game controller, smart phone, ortablet. Such gaming systems may include, for example, gaming systemscommonly sold under the trademarks Microsoft Xbox®, Sony PlayStation®,Nintendo Wii®, or the Sega Zone®. The user interface devices maycomprise and/or may be in communication with one or more user inputelements configured to detect a user input. Such user input elements maycomprise, for example, a game controller, button, joystick, gyroscope,accelerometer, or touch-sensitive surface, any of which can be alone orin combination with one another.

In the illustrative embodiment, the gaming system is in communicationwith a haptic feedback device. The haptic feedback device is configuredto receive a signal from the gaming system and provide an electrostaticforce feedback (ESF) haptic effect perceivable by a user. A hapticfeedback device configured to output ESF haptic effects will hereinafterbe referred to as an “ESF device.”

In the illustrative embodiment, the ESF device comprises athree-by-three matrix of ESF cells, each ESF cell comprising anelectrode coupled to an insulator. In the illustrative embodiment, theESF device is positioned on the user interface device to directlycontact the user's hand. Further, in the illustrative embodiment, thesurface area of the ESF device is smaller than the contact area betweenthe user's hand and the user interface device.

The ESF device uses electrostatic attraction to output a haptic effectto the user. In the illustrative embodiment, the gaming system appliesan electric signal to one or more of the electrodes of the ESF cells.The electric signal may generate a charge on each electrode. This chargemay generate capacitive coupling between the electrode and an object(e.g., the user's hand or finger) near or touching the surfaces of theESF cells. The capacitive coupling of the object with ESF cells producesa haptic effect.

In the illustrative embodiment, the user does not have to move a bodypart across a surface associated with the ESF device to perceive thehaptic effect. Nor does the user have to move a body part in thedirection perpendicular to the surface associated with the ESF device toperceive the haptic effect. Rather, the user may maintain continuouscontact (e.g., by gripping or holding) with a surface associated withthe ESF device and perceive the ESF haptic effect. An ESF haptic effectthat is perceptible to a user without user movement in the directionstangential or perpendicular to a surface will be referred to hereinafteras a “static ESF effect.” For example, a static ESF effect may simulatemovement (hereinafter referred to as a “flow sensation”) across asurface, such as the surface of the user interface device, even thoughthe user's hand may not move relative to the surface. In someembodiments, applying a sequential signal to the ESF cells may producesuch a static ESF effect. Other static ESF effects may comprise, forexample, a simulated vibration, a change in a perceived coefficient offriction, or a simulated texture.

In the illustrative embodiment, the game system outputs a haptic effect,via the ESF device, in response to an event. An event, as used herein,is any interaction, action, collision, or other event which occursduring operation of the device which can potentially comprise anassociated haptic effect. In some embodiments, an event may compriseuser input (e.g., a button press, manipulating a joystick, interactingwith a touch-sensitive surface, tilting or orienting the user interfacedevice), a system status (e.g., low battery, low memory, or a systemnotification, such as a notification generated based on the systemreceiving an incoming call), sending data, receiving data, or a programevent (e.g., if the program is a game, a program event may compriseexplosions, gunshots, collisions, interactions between game characters,advancing to a new level, or driving over bumpy terrain). For example,in the illustrative embodiment, the gaming system outputs a hapticeffect (e.g., a simulated vibration) upon the occurrence of a game event(e.g., when the user's virtual character is shot).

The description of the illustrative embodiment above is provided merelyas an example. Various other embodiments of the present invention aredescribed herein and variations of such embodiments would be understoodby one of skill in the art. Advantages offered by various embodimentsmay be further understood by examining this specification and/or bypracticing one or more embodiments of the claimed subject matter.

Illustrative Systems for Multi-output Electrostatic Haptic Effects

FIG. 1 is a block diagram showing a system 100 for providingmulti-output electrostatic haptic effects according to one embodiment.In the embodiment shown, system 100 comprises a computing device 101having a processor 102 in communication with other hardware via bus 106.Computing device 101 may comprise, for example, a smartphone, tablet,e-reader, or portable gaming device. While system 100 is shown as asingle device in FIG. 1, in other embodiments, the system 100 maycomprise multiple devices as shown in FIG. 3, such as a game console andone or more game controllers.

A memory 104, which can comprise any suitable tangible (andnon-transitory) computer-readable medium such as RAM, ROM, EEPROM, orthe like, embodies program components that configure operation of thecomputing device 101. In the embodiment shown, computing device 101further includes one or more network interface devices 110, input/output(I/O) interface components 112, and storage 114.

Network device 110 can represent one or more of any components thatfacilitate a network connection. Examples include, but are not limitedto, wired interfaces such as Ethernet, USB, IEEE 1394, and/or wirelessinterfaces such as IEEE 802.11, Bluetooth, or radio interfaces foraccessing cellular telephone networks (e.g., transceiver/antenna foraccessing a CDMA, GSM, UMTS, or other mobile communications network).

I/O components 112 may be used to facilitate wired or wirelessconnection to devices such as one or more displays 132, gamecontrollers, keyboards, mice, joysticks, buttons, speakers, microphones,and/or other hardware used to input data or output data. Storage 114represents nonvolatile storage such as magnetic, optical, or otherstorage media included in device 101 or coupled to processor 102.

System 100 further includes a touch sensitive surface 116, which, inthis example, is integrated into computing device 101. Touch sensitivesurface 116 represents any surface that is configured to sense tactileinput of a user. One or more sensors 108 are configured to detect atouch in a touch area when an object contacts a touch sensitive surface116 and provide appropriate data for use by processor 102. Any suitablenumber, type, or arrangement of sensors can be used. For example,resistive and/or capacitive sensors may be embedded in touch sensitivesurface 116 and used to determine the location of a touch and otherinformation, such as pressure. As another example, optical sensors witha view of the touch sensitive surface 116 may be used to determine thetouch position.

In other embodiments, the sensor 108 may comprise a LED detector. Forexample, in one embodiment, touch sensitive surface 116 may comprise aLED finger detector mounted on the side of a display 132. In someembodiments, the processor 102 is in communication with a single sensor108, in other embodiments, the processor 102 is in communication with aplurality of sensors 108, for example, a first touch sensitive surfaceand a second touch sensitive surface. The sensor 108 is configured todetect user interaction, and based on the user interaction, transmitsignals to processor 102. In some embodiments, sensor 108 may beconfigured to detect multiple aspects of the user interaction. Forexample, sensor 108 may detect the speed, pressure, or direction of auser interaction, and incorporate this information into the interfacesignal.

Touch sensitive surface 116 may or may not comprise (or otherwisecorrespond to) a display 132, depending on the particular configurationof the system 100. Some embodiments include a touch enabled display thatcombines a touch sensitive surface 116 and a display 132 of the device.The touch sensitive surface 116 may correspond to the display 132exterior or one or more layers of material above the actual display 132components. In other embodiments, a computing device 101 comprises atouch-sensitive surface 116 which may be mapped to a graphical userinterface provided in a display 132 that is included in system 100interfaced to computing device 101.

In the embodiment shown, computing device 101 comprises one or moreadditional sensors 130. Sensor 130 is configured to transmit sensorsignals to processor 102. In some embodiments, the sensor 130 maycomprise a gyroscope, an accelerometer, a global positioning (GPS) unit,a temperature sensor, a humidity sensor, an ambient light sensor, and/orother sensors for detecting motion, location, and/or environmentalcharacteristics. In some embodiments, the sensor 130 may comprise aresistive, capacitive, or other sensor configured to detect a contactand/or contact surface area between a user and a surface associated withthe computing device 101 and/or the haptic output device 118. In someembodiments, the processor 102 is in communication with a single sensor130, in other embodiments, the processor 102 is in communication with aplurality of sensors 130, for example, a gyroscope and an accelerometer.Further, in some embodiments, the sensor 130 may be in communicationwith haptic output device 118. Although the embodiment shown in FIG. 1depicts the sensor 130 internal to computing device 101, in someembodiments, sensor 130 may be external to computing device 101. Forexample, in some embodiments, the one or more sensors 130 may beassociated with a wearable device (e.g., a ring, bracelet, sleeve,collar, hat, shirt, glove, or glasses) and/or coupled to a user's body.

The embodiment shown also includes an ESF controller 120. ESF controller120 is configured to receive a haptic signal from processor 102,determine an ESF signal to output to a haptic output device 118, andthen transmit the ESF signal. The ESF signal comprises a signalconfigured to cause the haptic output device 118 to output a hapticeffect associated with the haptic signal. In some embodiments, the ESFsignal may comprise an AC signal. Although in the example shown in FIG.1 the ESF controller 120 is internal to computing device 101, in otherembodiments, the ESF controller 120 may be external to and incommunication with the computing device 101 (see, e.g., FIG. 3). The ESFcontroller 120 may be in communication with the computing device 101 viawired interfaces such as Ethernet, USB, IEEE 1394, and/or wirelessinterfaces such as IEEE 802.11, Bluetooth, or radio interfaces.

In some embodiments, the ESF controller 120 may comprise a crystaloscillator, a relay, a multiplexer, an amplifier, a switch, and/or othermeans for generating an ESF signal. For example, in some embodiments,the ESF controller 120 may comprise a switch coupling one or moreconductors in an ESF device to a high voltage source. In such anembodiment, the haptic signal may cause ESF controller 120 to oscillatethe switch, so that an ESF signal comprising high voltage is transmittedto the conductors in a pattern configured to generate the desired ESFhaptic effect. As another example, in some embodiments, the ESFcontroller 120 may comprise a multiplexer coupling one or moreconductors in an ESF device to an AC voltage source. Based on the hapticsignal, the ESF controller 120 may control the multiplexer so that anESF signal comprising AC voltage is transmitted to the conductors in apattern configured to generate the desired ESF haptic effect. Further,in some embodiments, the ESF controller 120 may comprise a processor, amicrocontroller, memory, a field programmable gate array (FPGA), atransistor, a flip-flop, and/or other digital or analog circuitry.

The system 100 further includes haptic output device 118 incommunication with ESF controller 120. Haptic output device 118 isconfigured to output a haptic effect that can be sensed by a user.Haptic output device 118 uses electrostatic attraction to output an ESFhaptic effect to a user. In some embodiments, the ESF haptic effect maycomprise a static ESF effect. In some embodiments, the ESF haptic effectmay comprise a “confirmation ESF effect.” A confirmation ESF effectcomprises an ESF effect perceptible to a user upon the user moving abody part (e.g., a finger) perpendicularly to a surface associated withthe haptic output device 118, such that the user contacts the surfacefor a short duration (e.g., less than 1 s) (e.g., if the user taps thesurface). For example, in some embodiments, upon a user tapping avirtual button (e.g., a virtual keyboard key) or moving a virtual dial,the haptic output device 118 may output a confirmation ESF effectcomprising, for example, a simulated vibration. In some embodiments, theconfirmation ESF effect may provide the user with information, forexample, a confirmation that the computing device 101 has received theuser's input. Further, in some embodiments, the ESF haptic effect maycomprise a “dynamic ESF effect.” A dynamic ESF effect comprises an ESFeffect perceptible to a user upon the user sliding a body parttangentially along a surface associated with the haptic output device118. In some embodiments, the ESF haptic effect may comprise a simulatedvibration, a change in a perceived coefficient of friction, a simulatedtexture, or a flow sensation in response to an ESF signal. Haptic outputdevice 118 may be either rigid or flexible.

Haptic output device 118 comprises at least one ESF device, whichcomprises at least one ESF cell. An ESF cell comprises a conductorcoupled to an insulator. One example embodiment of an ESF cell is shownin FIG. 2. The conductor 204 comprises a semiconductor or conductivematerial, for example, copper, tin, iron, aluminum, gold, silver, orcarbon nanotubes. In some embodiments, the conductor 204 may be flexibleand/or may be transparent.

The insulator 202 comprises an insulating material, for example, glass,porcelain, plastic, polymer, fiberglass, nitrogen, or sulfurhexafluoride. The insulator 202 may be flexible. In some embodiments,the insulator 202 may comprise a dielectric material and/or atransparent material. In some embodiments, the insulator 202 maycomprise a thickness of 15 to 40 microns. In some embodiments, as thethickness of the insulator 202 increases in size (e.g., above 40microns), the strength of a haptic effect perceived by a user maydecrease. Further, in some embodiments, as the thickness of theinsulator 202 decreases in size below a threshold (e.g., 15 microns),the strength or quality of the haptic effect perceived by the user maydecrease. In some embodiments, an appropriate thickness for theinsulator 202 may be based on the amount of voltage the computing devicemay apply to the ESF cell 200. For instance, in some embodiments, theinsulator 202 may be thicker if the computing device may transmit 1,000V to the ESF cell 200 than if the computing device may transmit 100 V tothe ESF cell 200, e.g., to actuate the ESF cell 200. In someembodiments, the touch sensitive surface 116 may comprise the insulator202, the conductor 204, or both.

Further, in some embodiments, the insulator 202 may be configured todirectly contact the user's skin. In other embodiments, a material(e.g., clothing, a touch sensitive surface, a computing device housing,a fluid or gel, or an adhesive) may be positioned between the insulator202 and the user's skin. In some embodiments, the material positionedbetween the insulator 202 and the user's skin may improve the contactbetween the ESF cell 200 and the user's skin.

The computing device controls an ESF cell 200 by applying an electricsignal to the conductor 204. The electric signal may be an AC signal. Insome embodiments, the AC signal may be generated by a high-voltageamplifier. The strength of the haptic effect perceived by the user maybe based on the magnitude of the voltage of the electric signal. Forexample, in some embodiments, a user may perceive a haptic effectgenerated from an electric signal comprising 1000 V as stronger than ahaptic effect generated from an electric signal comprising 100 V. Insome embodiments, the computing device may send a haptic signal to anESF controller, which may output one or more electric signals (i.e., ESFsignals) to the conductors 204 of one or more ESF cells 200. Applying anelectric signal to the conductor 204 may induce an electric charge onthe conductor 204. In some embodiments, the charge on the conductor 204may create capacitive coupling between the conductor 204 and an objectnear or touching the ESF cell 200, for example, a user's palm. A usermay perceive the capacitive coupling as a haptic effect. For example, inone embodiment, the capacitive coupling produces attractive forcesbetween parts of the body or an object near the surface of one or moreESF cells 200. The attractive forces stimulate the nerve endings in theskin of a user's body, for example, the user's palm. This stimulationmay allow the user to perceive the ESF haptic effect (e.g., thecapacitive coupling) as a vibration or some other sensation. In someembodiments, varying the level of attraction between the object and theconductor 204 may vary the ESF haptic effect felt by the user.

Referring back to FIG. 1, in some embodiments, haptic output device 118may further comprise additional haptic output devices in addition to oneor more ESF devices of the type described above. For example, hapticoutput device 118 may comprise one or more of a piezoelectric actuator,an electric motor, an electro-magnetic actuator, a voice coil, a shapememory alloy, an electro-active polymer, a solenoid, an ERM, or a linearresonant actuator (LRA). Further, some haptic effects may utilize anactuator coupled to a housing of the computing device 101, and somehaptic effects may use multiple actuators of the same or different typesin sequence and/or in concert. Although a single haptic output device118 is shown here, embodiments may use multiple haptic output devices118 of the same or different type to produce haptic effects. Forexample, in some embodiments, multiple vibrating actuators and ESFdevices can be used alone or in concert to provide different hapticeffects. Further, although haptic output devices 118 is shown internalto computing device 101 in FIG. 1, in other embodiments, haptic outputdevices 118 may be associated with another device that is external toand in communication with the computing device 101 (see, e.g., FIG. 3).The haptic output devices 118 may be in communication with the computingdevice 101 via wired interfaces such as Ethernet, USB, IEEE 1394, and/orwireless interfaces such as IEEE 802.11, Bluetooth, or radio interfaces.

Turning to memory 104, illustrative program components 124, 126, and 128are depicted to illustrate how a device can be configured in someembodiments to provide multi-output electrostatic haptic effects. Inthis example, a detection module 124 configures processor 102 to monitortouch sensitive surface 116 via sensor 108 to determine a position of atouch. For example, module 124 may sample sensor 108 in order to trackthe presence or absence of a touch and, if a touch is present, to trackone or more of the location, path, velocity, acceleration, pressureand/or other characteristics of the touch over time.

Haptic effect determination module 126 represents a program componentthat analyzes data to select a haptic effect to generate. Particularly,haptic effect determination module 126 may comprise code that determinesa haptic effect to output to the user. Further, haptic effectdetermination module 126 may comprise code that selects one or morehaptic effects to provide, and/or one or more haptic output devices 118(e.g., one or more ESF devices or cells within ESF devices) to actuate,in order to simulate the haptic effect.

In some embodiments, haptic effect determination module 126 may comprisecode that determines, based on an interaction with the touch sensitivesurface 116, a haptic effect to output and code that selects one or morehaptic effects to provide in order to output the effect. For example, insome embodiments, some or all of the area of touch sensitive surface 116may be mapped to a graphical user interface (GUI), for example, a GUIoutput on display 132. Upon a user interacting with the GUI via touchsensitive surface 116 (e.g., tapping or making a gesture, such as atwo-finger pinch, on the touch sensitive surface 116), haptic effectdetermination module 126 may select different haptic effects based onthe location of the interaction. In some embodiments, the haptic effectsmay allow a user to perceive a feature on the GUI, for example, avirtual button. However, haptic effects may be provided via hapticoutput device 118 even if a corresponding feature is not displayed inthe GUI (e.g., a haptic effect may be provided if a boundary in the GUIis crossed, even if the boundary is not displayed).

In some embodiments, haptic effect determination module 126 maydetermine haptic effects based on other kinds of events. For example, insome embodiments, haptic effect determination module 126 may determine ahaptic effect based on a system status (e.g., a low battery status). Insome embodiments, the characteristics of the haptic effect may depend onthe characteristics of the system status (e.g., the magnitude of thehaptic effect may be inversely proportional to the amount of batterylife left). As another example, in some embodiments, haptic effectdetermination module 126 may determine a haptic effect based on aprogram event (e.g., an error notification). In some embodiments, thecharacteristics of the haptic effect may depend on the characteristicsof the program event (e.g., the type of haptic effect may be based onthe type of error).

In some embodiments, haptic effect determination module 126 maydetermine a haptic effect based in part on signals from sensor 130. Forexample, in some embodiments, the sensor 130 may comprise a gyroscopeand/or accelerometer. In some embodiments, if the user tilts or movesthe computing device 101, haptic effect determination module 126 maydetermine a haptic effect (e.g., a simulated vibration) based in part onsignals from the gyroscope and/or accelerometer. For example, in someembodiments, the magnitude of the haptic effect may be determined suchthat it is proportional to the amount in degrees that the user tilts thecomputing device 101 and/or the speed in which the user moves thecomputing device 101. Further, in some embodiments, the sensor 130 maycomprise a resistive or capacitive sensor. In some embodiments, thehaptic effect determination module 126 may determine a haptic effectbased on a contact, or an area of contact, between the user (e.g., theuser's finger) and a surface associated with the haptic output device118 (e.g., the touch sensitive surface 116). For example, in someembodiments, as the contact area between the user and a surfaceassociated with the haptic output device 118 increases, the user mayperceive a stronger haptic effect. In response, the haptic effectdetermination module 126 may determine a haptic effect comprising adecreased magnitude. The decreased magnitude may offset the effect ofthe increased contact area between the user and the surface associatedwith the haptic output device 118, so that the user perceives theoverall haptic effect as having a relatively constant strength.

Haptic effect generation module 128 represents programming that causesprocessor 102 to generate and transmit a haptic signal to the ESFcontroller 120 to generate the selected haptic effect. For example, thehaptic effect generation module 128 may access stored waveforms orcommands to send to ESF controller 120. As another example, hapticeffect generation module 128 may comprise algorithms to determine thehaptic signal. Haptic effect generation module 128 may comprisealgorithms to determine target coordinates for the haptic effect. Thesetarget coordinates may comprise, for example, a location on the touchsensitive surface 116.

FIG. 3 is another block diagram showing a system for providingmulti-output electrostatic haptic effects according to one embodiment.In the embodiment shown, system 300 comprises a computing device 301having a processor 302 in communication with other hardware via bus 306.Computing device 301 may comprise, for example, a game console, laptopcomputer, or desktop computer.

Computing device 301 also comprises a memory 304, which comprises adetection module 324, haptic effect determination module 326, and hapticeffect generation module 328. These components may be configured tofunction in similar ways as the memory, detection module, haptic effectdetermination module, and haptic effect generation module depicted inFIG. 1.

Further, computing device 301 comprises network components 310, I/Ocomponents 312, storage 314, and a display 332. In some embodiments,these components may be configured to function in similar ways as thenetwork components, I/O components, storage, and display depicted inFIG. 1. In some embodiments, display 332 may comprise a separatecomponent, e.g., a remote monitor, television, or projector coupled toprocessor 302 via a wired or wireless connection.

System 300 also includes a controller 336. In some embodiments, thecontroller 336 may comprise, for example, a game controller, a mouse, ora gear shifter. In some embodiments, controller 336 may comprise aprocessor and/or network components 310. In this example, controller 336is in communication with computing device 301 via a wireless interface,such as IEEE 802.11, Bluetooth, or radio interfaces (e.g.,transceiver/antenna for accessing a CDMA, GSM, UMTS, or other mobilecommunications network). Controller 336 comprises I/O components 334,which may be configured to function in similar ways as the I/Ocomponents depicted in FIG. 1.

Controller 336 also comprises one or more user input device(s) 338. Theuser input device 338 comprises a device for interacting with thecontroller 336, for example, a joystick, directional pad, button,switch, speaker, microphone, touch sensitive surface, and/or otherhardware used to input data or output data.

Controller 336 further comprises one or more sensors 330. The sensor 330is configured to transmit sensor signals to processor 302. In someembodiments, the sensor 330 may comprise a gyroscope, an accelerometer,a GPS unit, a temperature sensor, a humidity sensor, an ambient lightsensor, and/or other sensors for detecting motion, location, and/orenvironmental characteristics. In some embodiments, sensor 330 maycomprise a plurality of sensors 330, for example, a gyroscope and anaccelerometer. In some embodiments, sensor 330 may be in communicationwith haptic output device 318. In some embodiments, the sensor 330 maycomprise a resistive, capacitive, or other sensor configured to detect acontact and/or contact area between a user and a surface associated withthe haptic output device 318, the computing device 301, and/or thecontroller 336.

In the example shown in FIG. 3, the controller 336 includes an ESFcontroller 320, which may be configured to function similarly to the ESFcontroller shown in FIG. 1. The ESF controller 320 is in communicationwith computing device 301 and configured to receive a haptic signal fromprocessor 302, determine an ESF signal to be output to a haptic outputdevice 318, and then transmit the ESF signal.

Controller 336 also comprises a haptic output device 318, which may beconfigured to function similarly to the haptic output device shown inFIG. 1. Haptic output device 318 is configured to output a haptic effectthat can be sensed by a user. Haptic output device 318 comprises atleast one ESF device and uses electrostatic attraction to output ahaptic effect to a user. Further, as discussed above with regard to thehaptic output device 118 depicted in FIG. 1, in some embodiments, hapticoutput device 318 may comprise additional haptic output devices (e.g., ahaptic output device configured to output a vibration) of the same ordifferent type. In some embodiments, computing device 301 may actuatemultiple haptic output devices 318 of the same or different type toproduce a haptic effect. For example, in some embodiments, multiple ESFdevices can be used alone or in concert to provide different hapticeffects. In some embodiments, the haptic output device 318 may beconfigured to output a static ESF effect or a confirmation ESF effect.

FIG. 4 shows an external view of a system for providing multi-outputelectrostatic haptic effects according to another embodiment. In thisexample, a user has pressed a finger 402 against the touch surface 404.The touch surface 404 comprises three ESF cells 306 a-c positionedlinearly along the touch surface 404. In this example, the combinedsurface area of the ESF cells 406 a-c is smaller than the contact areabetween the user's finger 402 and the touch surface 404. Although theESF cells 406 a-c are depicted in this example as having roughly equalsurface areas, in other embodiments, the surface area of each of the ESFcells 406 a-c may be different from one another.

In some embodiments, upon the occurrence of an event, the system 400 mayoutput a static ESF effect or a confirmation ESF effect. An ESFcontroller may individually control each of the ESF cells 406 a-c tooutput the static ESF effect or the confirmation ESF effect. In someembodiments, the ESF controller may actuate two or more of the ESF cells406 a-c in concert to output the static ESF effect or the confirmationESF effect. For example, in some embodiments, the ESF controller mayactuate the first ESF cell 406 a and the third ESF cell 406 c, but notthe second ESF cell 406 b. In other embodiments, the ESF controller mayactuate the first ESF cell 406 a and the second ESF cell 406 b, but notthe third ESF cell 406 c.

In some embodiments, the ESF controller may actuate the ESF cells 406a-c with ESF signals of differing polarities. For example, in someembodiments, the ESF controller may actuate the first ESF cell 406 awith an ESF signal comprising a positive polarity and the third ESF cell406 c with an ESF signal comprising a negative polarity. The positivepolarity of the ESF cell 406 a may generate a negatively charged regionin the user's finger 402. The negative polarity of the ESF cell 406 cmay generate a positively charged region in the user's finger 402. Insome embodiments, the negatively charged region in the user's finger 402may attract the positively charged region in the user's finger 402. Insome embodiments, the attraction of charged regions within the user'sfinger 402 may generate or enhance the static ESF effect or theconfirmation ESF effect perceived by the user.

In some embodiments, the ESF controller may actuate the ESF cells 406a-c in sequence to output a static ESF effect or a confirmation ESFeffect. For example, the ESF controller may actuate the first ESF cell406 a, then the second ESF cell 406 b, then the third ESF cell 406 c. Insome embodiments, the ESF controller may stop actuating an ESF cell(e.g., the first ESF cell 406 a) upon actuating a different ESF cell(e.g., the next ESF cell) in the sequence. In other embodiments, the ESFcontroller may continue actuating an ESF cell (e.g., the first ESF cell406 a) upon actuating a different ESF cell in the sequence. In someembodiments, the user may perceive sequentially actuated ESF cells 406a-c as a static ESF effect or a confirmation ESF effect comprising aflow sensation. In some embodiments, the flow sensation may be faster(e.g., each of the ESF cells 406 a-c may be actuated 50 ms apart), whilein other embodiments the flow sensation may be slower (e.g., each of theESF cells 406 a-c may be actuated 125 ms apart). Further, in someembodiments, the ESF cells 406 a-c may be configured in otherarrangements, as shown in FIGS. 5-8.

FIG. 5 shows an embodiment of a system for providing multi-outputelectrostatic haptic effects. In this example, the ESF device 500comprises a three-by-three matrix of square ESF cells 502. In someembodiments, the strength of the ESF haptic effect (e.g., the static ESFeffect or the confirmation ESF effect) perceived by the user may dependon the combined surface area of the ESF cells 502. In some embodiments,the size of the combined surface area of the ESF cells 502 may besmaller than the contact area between a user's finger and a touchsurface. As the size of the combined surface area of the ESF cells 502increases, the strength of the ESF haptic effect perceived by the usermay increase, until a threshold size is reached. In some embodiments,the threshold size may comprise the size of the contact area between theuser's finger and the touch surface.

The configuration and properties of the ESF cells 502 impact how a userperceives the ESF haptic effect. For example, the area of each ESF cell502, the shape of each ESF cell 502, and/or the spacing between the ESFcells 502 impact how the user perceives the haptic effect. For example,in some embodiments, as the area of each ESF cell 506 increases, thestrength of the ESF haptic effect perceived by a user may increase. Insome embodiments, the ESF cells 506 may comprise rectangular, circular,comb, triangular, or other shapes. In some embodiments, each of the ESFcells 506 may have different areas, thicknesses, and/or shapes. In someembodiments, the spacing between each ESF cell 502 may be the same ormay be different. For example, in some embodiments, some of the ESFcells 502 may have a 0.7 mm spacing between them, while others may havea 0.25 mm spacing between them. In some embodiments, as the size of thespacing between ESF cells 502 increases beyond a threshold (e.g., 0.7mm), the strength of the ESF haptic effect perceived by the user maydecrease. Any number of areas, shapes, spacing, and/or configurations ofESF cells 502 may be possible.

FIG. 6 shows another embodiment of a system for providing multi-outputelectrostatic haptic effects. In this example, the ESF device 600comprises a first ESF cell 602 interlocking with a second ESF cell 604.In some embodiments, the size of the combined surface area of theinterlocking ESF cells 602 and 604 may be smaller than the contact areabetween a user's finger and a touch surface.

The configuration and properties of the ESF cells 602, 604 impacts how auser perceives the ESF haptic effect (e.g., the static ESF effect or theconfirmation ESF effect). In some embodiments, the size of the spacing606 between the first ESF cell 602 and the second ESF cell 604 mayaffect the haptic effect perceived by the user. Further, in someembodiments, the lengths, widths, and/or number of interlocking membersmay affect the haptic effect perceived by the user. For example, in someembodiments, as the lengths and/or widths of the interlocking membersincrease, the user may perceive a stronger haptic effect.

FIG. 7 shows an embodiment of a system for providing multi-outputelectrostatic haptic effects. In this example, ESF device 700 comprisesa first ESF cell 702 and a second ESF cell 704, with ESF cells 706, 708,710 in the middle. In some embodiments, the size of the combined surfacearea of the ESF cells 702, 704, 706, 708, 710 may be smaller than thecontact area between a user's finger and a touch surface.

The configuration and properties of the ESF cells 702, 704, 706, 708,710 impacts how a user perceives the ESF haptic effect (e.g., the staticESF effect or the confirmation ESF effect). In some embodiments, the ESFcells 706, 708, and 710 may comprise other shapes, for example, circles,triangles, squares, or hexagons. In some embodiments, there may be moreor fewer ESF cells 706, 708, 710. In some embodiments, the spacingbetween the ESF cells 702, 704, 706, 708, 710 may affect how the userperceives the haptic effect. In some embodiments, the dimensions (e.g.,the length and/or width) of the ESF cells 706, 708, 710 may affect thehaptic effect perceived by the user. For example, in some embodiments,as the length and/or width of the ESF cells 706, 708, 710 increase, thestrength of the haptic effect perceived by the user may increase.

FIG. 8 shows another embodiment of a system for providing multi-outputelectrostatic haptic effects. In this example, an ESF device 800comprises ESF cells 802 that are arranged in a three-by-three matrix.

The ESF controller outputs ESF haptic effects (e.g., static ESF effectsor confirmation ESF effects) by applying one or more ESF signals to oneor more ESF cells 802. The ESF controller may actuate the ESF cells 802in series or in concert to output an ESF haptic effect. In theembodiment shown, the ESF controller is actuating the ESF cells 802sequentially in an “S” formation corresponding to the arrows shown inthe figure. That is, the ESF controller may start by actuating the ESFcell 802 in the lower left corner of the three-by-three matrix, andcontinue actuating ESF cells 802 along the path shown by the arrows inFIG. 8, ending with the ESF cell 802 in the upper right corner. In someembodiments, sequentially activating the ESF cells 802 in an “S”formation may output a static ESF effect or a confirmation ESF effectcomprising a two-dimensional flow sensation. In other embodiments, theESF controller may actuate the ESF cells 802 in other patterns orconfigurations.

In some embodiments, the characteristics of the ESF haptic effectperceived by the user may depend on a characteristic of the ESF signal.For example, in some embodiments, the strength of the haptic effectperceived by the user may increase as the magnitude of the ESF signalincreases. In some embodiments, the strength of the haptic effectperceived by the user may increase as the frequency of the ESF signalincreases (e.g., from 50 Hz to 300 Hz). For example, in someembodiments, a user may perceive a haptic effect generated by an ESFsignal comprising a 300 Hz frequency as stronger than a haptic effectgenerated by an ESF signal comprising a 50 Hz frequency. In someembodiments, the ESF signal may have a waveform comprising, for example,a sine wave, a saw tooth wave, a square wave, or a triangle wave. Insome embodiments, a user may perceive a haptic effect as stronger ormore pleasant if the ESF controller actuates the one or more ESF cells802 with an ESF signal comprising a sinusoid or square wave. In someembodiments, a user may perceive a haptic effect as weaker if the ESFsignal comprises a short (e.g., 5 s to 10 s) duration.

In some embodiments, the characteristics of the ESF haptic effectperceived by the user may depend on a plurality of ESF signalcharacteristics (e.g., the amplitude, frequency, time duration,polarity, and/or waveform). For example, in some embodiments, thecharacteristics of the haptic effect perceived by the user may depend onthe ESF signal's waveform and voltage. For instance, in someembodiments, the user may perceive an haptic effect as weak or “buzzy”if the ESF signal comprises a high voltage (e.g., 500 V) and a squarewaveform.

In some embodiments, the ESF controller may actuate one or more of theESF cells 802 by applying ESF signals of varying amplitudes,frequencies, time durations, polarities, and/or waveforms to the one ormore ESF cells 802. For example, in some embodiments, the ESF controllermay output an ESF signal comprising multiple sinusoids. In someembodiments, the sinusoids may have different frequencies, magnitudes,and/or polarities from one or more of the other sinusoids. For example,in one embodiment, the ESF controller delivers a sine wave with a 50 Hzfrequency to an ESF cell 802, a sine wave with a 100 Hz frequency toanother ESF cell 802, and a sine wave with a 150 Hz frequency to stillanother ESF cell 802. In some embodiments, a user may perceive an ESFhaptic effect as stronger if the ESF controller delivers sinusoidscomprising different frequencies to the ESF cells 802 than if the ESFcontroller delivers sinusoids of the same frequency to the ESF cells802. In some embodiments, there may be a time delay between each of thesinusoids. In other embodiments, there may be no time delay between eachof the sinusoids. ESF signals comprising any number of magnitudes,waveforms, frequencies, durations, polarities, and/or actuation patternsmay be possible.

FIG. 9 shows an embodiment of an external view of a system for providingmulti-output electrostatic haptic effects. In this example, system 900comprises a game controller 902, e.g., a controller for playing a videogame on a game system. In other embodiments, system 900 may comprise anysuitable manipulable device. A manipulable device is a device configuredto be manipulated by a user and may include devices that can be held orgrasped. For example, in some embodiments, a manipulable device maycomprise a laptop computer, a desktop computer, a gear shifter, asteering wheel, a mouse, a keyboard, a joystick, a button, a stylus, atablet, an e-reader, a remote control, a gamepad, a mobile device, or amobile device holder. Such devices may be, for example, standalonedevices or may be controls incorporated into mobile devices, automotivedashboards, or other control surfaces.

As shown in FIG. 9, the game controller 902 comprises a series ofbuttons and a housing. The housing further comprises contact points 904a-e, through which the user's hand contacts the game controller 902. Insome embodiments, each of the contact points may comprise an ESF device(not shown), which in turn comprises one or more ESF cells. In someembodiments, the system 900 may output one or more haptic effects (e.g.,static ESF effects or confirmation ESF effects of the types describedabove) via the one or more ESF devices associated with the contactpoints 904 a-e. In some embodiments, the system 900 may actuate each ofthe ESF devices corresponding to contact points 904 a-e sequentially orin concert to output one or more haptic effects.

For example, in some embodiments, a user may use the game controller 902to play a video game, such as a tennis game. Upon the occurrence of anevent, such as the user swinging the game controller 902 to hit avirtual tennis ball, the system 900 may output haptic effects via ESFdevices associated with contact points 904 a-e. For example, in someembodiments, the system 900 may output a haptic effect configured toemulate interacting with a real tennis racket. In some embodiments, thesystem 900 may sequentially actuate the ESF devices (and/or the ESFcells inside the ESF devices) associated with the contact points 904 a-cto generate a flow sensation. This flow sensation may, in someembodiments, mimic the slip of a tennis racket in a user's hand as theuser swings the racket. Further, in some embodiments, the system 900 mayactuate the ESF devices associated with contact points 904 d-e togenerate a simulated vibration. This simulated vibration may, in someembodiments, mimic the vibration a user feels in the user's hand whenthe user's tennis racket contacts a ball. In some embodiments, thecombination of these effects may provide a more realistic gamingexperience, for example a more realistic virtual tennis experience, to auser.

As another example, in some embodiments, the user may be playing a videogame in which the user drives a virtual automobile. In some embodiments,the system 900 may output a haptic effect associated with theautomobile. For example, the system 900 may output a flow sensation byactuating each of the ESF devices corresponding to contact points 904a-e sequentially. In some embodiments, the speed of the actuation of theESF devices associated with contact points 904 a-e may be associatedwith how fast the user is driving the virtual automobile. In oneembodiment, the faster the user drives the automobile, the faster thesystem 900 actuates the ESF devices (and/or the ESF cells within the ESFdevices). Further, in some embodiments, the system 900 may output ahaptic effect comprising a texture via one or more ESF devicescorresponding to contact points 904 a-e. In some embodiments, thetexture may be associated with the texture (e.g., smooth, rough, bumpy)of a virtual object. For example, the texture may be associated with theroad surface over which the virtual automobile is driving.

In some embodiments, a computing device (e.g., the game controller 902)may comprise a plurality of sensors (e.g., pressure and/or capacitivesensors). For example, in some embodiments, the entire surface (orsubstantially the entire surface) of a computing device may comprisesensors. In some embodiments, the system 900 may determine, based onsensor signals from the sensors, that the user may be contactingspecific points on the computing device. The system 900 may furtherdetermine a characteristic (e.g., the pressure, direction, velocity, orthe surface area of the contact between the user and the computingdevice) of each contact. In some embodiments, based on the contacts,and/or the determined characteristics of the contacts, the system 900may determine how the user may be holding the computing device (e.g., ifthe user is left-handed or right-handed, or the configuration of theuser's fingers).

Further, in some embodiments, the system 900 may determine an ESF hapticeffect based on the contacts, and/or the determined characteristics ofthe contacts. For example, in some embodiments, the entire surface (orsubstantially the entire surface) of the game controller 902 maycomprise ESF devices. The system 900 may determine a haptic effect basedon which surfaces of the game controller 902 and/or ESF devices the usermay be contacting. In some embodiments, the system 900 may determine ahaptic effect based on the amount of pressure with which the user may becontacting the surface. In some embodiments, the system 900 maydetermine a haptic effect based on the size of the contact surface areabetween the user and the surface. Further, in some embodiments, thesystem 900 may determine one or more ESF devices through which to outputthe haptic effect. For example, in some embodiments, the system 900 mayoutput the haptic effect via ESF devices associated with the user'spoints of contact (e.g., contact points 904 a-e) with the computingdevice.

FIG. 10 shows another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In this example,system 1000 comprises a computing device 1002 with a display 1004. Insome embodiments, the computing device 1002 may comprise, for example, atablet, laptop, or smart phone. In the example shown in FIG. 10, thedisplay 1004 is outputting a user interface comprising virtual objects1008, the virtual objects 1008 comprising squares with varying colorsand textures. In some embodiments, a user may interact with thecomputing device 1002 and/or the virtual objects 1008 by manipulatingobjects in real space. In this example, the user may interact with thecomputing device 1002 and/or the virtual objects 1008 by manipulating acube 1006.

In some embodiments, the object in real space (e.g., the cube 1006) maycomprise one or more ESF devices for outputting a haptic effect to auser. For example, in some embodiments, the cube 1006 may have one ormore ESF devices on each of its sides. In some embodiments, each ESFdevice may comprise a different configuration of ESF cells. In otherembodiments, each ESF device may comprise the same configuration of ESFcells.

In some embodiments, the system 1000 may output a haptic effect, such assimulated textures, flow sensations, and/or simulated vibrations, viaone or more of the ESF devices. In some embodiments, the system 1000 mayoutput the haptic effect upon the occurrence of an event. In someembodiments, an event may comprise, for example, a user interacting witha virtual object 1008 via an object in real space (e.g., cube 1006). Forexample, in some embodiments, upon the user placing the cube 1006 over alocation on the display 1004 associated with a virtual object 1008, thesystem 1000 may output a haptic effect via one or more of the ESFdevices. In some embodiments, the haptic effect may be associated withthe texture of the virtual object 1008. For example, in someembodiments, upon the user placing the cube 1006 over the virtual object1008, which may comprise a bumpy texture, the system 1000 may output ahaptic effect comprising a bumpy texture.

In some embodiments, the computing device 1002 may comprise (or be incommunication with) a user interface in real space, for example, a boardgame such as Monopoly®. In some embodiments, a user may interact withthe computing device 1002 by manipulating an object in real space, forexample, a game piece. In response, the system 1000 may output a hapticeffect via one or more ESF devices associated with the object in realspace. In some embodiments, the haptic effect may be based on thepositioning of the object in real space. For example, in someembodiments, upon a user placing a game piece on a Monopoly® board in alocation associated with the railroad, the system 1000 may output ahaptic effect comprising, for example, a vibration configured tosimulate the rumbling of a moving train. Similarly, in some embodiments,upon the user placing the game piece on the Monopoly® board in alocation associated with jail, the system 1000 may output a hapticeffect comprising, for example, a metal texture configured to simulatejail bars.

FIG. 11 shows another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In this example,the system 1100 comprises a stylus 1102 held by a user. In someembodiments, contact points 1104 a-c, through which a user's fingerscontact the stylus 1102, comprise ESF devices (not shown) for outputtinghaptic effects to the user.

In some embodiments, the system 1100 may output one or more hapticeffects (e.g., static ESF effects or confirmation ESF effects) via theone or more ESF devices associated with the contact points 1104 a-c. Insome embodiments, the system 1100 may output one or more haptic effectsupon the occurrence of an event. In this example, an event may comprise,for example, holding, moving, tilting, or otherwise manipulating thestylus 1102, or an interaction between the stylus 1102 and an object(e.g., a person or surface). For example, an event may comprisepositioning the stylus 1102 over a location on a touch sensitive surfaceassociated with a virtual object, tapping the stylus 1102 on the touchsensitive surface, or moving the stylus 1102 along the surface of thetouch sensitive surface. In some embodiments, upon a user tapping thestylus 1102 on a touch sensitive surface, the system 1100 may output oneor more haptic effects (e.g., simulated vibrations) to one or morecontact points 1104 a-c. In some embodiments, such haptic effects mayprovide confirmation to the user that the tap has been received by thesystem 1100.

In some embodiments, a user may interact with virtual buttons, keyboardkeys, or other virtual objects on a touch sensitive surface (e.g., atouch screen or touch pad on a smart phone, tablet, e-reader, or laptopcomputer) using the stylus 1102. As the user interacts with a virtualobject with stylus 1102, the system 1100 may output haptic effects viaone or more ESF devices associated with contact points 1104 a-c. In someembodiments, the one or more haptic effects may be associated with thevirtual object. For example, in some embodiments, the user may slide thestylus 1102 to the left along a touch sensitive surface comprising avirtual keyboard. In response, the system 1100 may output haptic effectson the left side of the stylus 1102 as the user transitions from one keyto the next key. Likewise, in some embodiments, the user may slide thestylus 1102 to the right along the touch sensitive surface. In response,the system 1100 may output haptic effects on the right side of thestylus 1102 as the user transitions from one key to the next key.

In some embodiments, as a user interacts with a virtual object, thesystem 1100 may output a haptic effect associated with a texture of thevirtual object. For example, in some embodiments, a doctor may beexploring a virtual X-ray image of a patient's teeth using a stylus1102. As the doctor positions the stylus 1102 over different parts ofthe virtual image of the patient's teeth, the system 1100 may output oneor more haptic effects via the one or more ESF devices associated withthe contact points 1104 a-c. In some embodiments, the one or more hapticeffects may simulate a texture associated with the part of the teethover which the stylus 1102 is positioned. For instance, if the doctorpositions the stylus 1102 over an area on the virtual image associatedwith a bumpy area on the patient's tooth, the system 1100 may outputhaptic effect simulating the bumpy texture. Similarly, if the doctorpositions the stylus 1102 on an area of the virtual image associatedwith a smooth area on the patient's tooth, the system 1100 may output ahaptic effect simulating the smooth texture.

In some embodiments, as a user interacts with a virtual object, thesystem 1100 outputs a haptic effect associated with gripping or holdingthe object in real space. For example, in some embodiments, a user maybe interacting with a virtual brick using stylus 1102. The user maypress, with the stylus 1102, on a location on a touch sensitiveinterface (e.g., touch screen or touch pad) associated with the brick inorder to “grip” the brick, and may drag the stylus 1102 in order to movethe virtual brick in the virtual environment. As the user grips anddrags the brick, the system 1100 may output one or more haptic effectsvia one or more ESF devices associated with contact points 1104 a-c. Insome embodiments, the haptic effects may simulate the feeling ofgripping a brick (e.g., a rough, bumpy texture) and/or moving it (e.g.,a low magnitude vibration).

In some embodiments, a user may input and/or determine which hapticeffects are associated with particular events. For example, in someembodiments, a user may be able to associate a virtual button press witha haptic effect comprising, for example, a simulated vibration, asimulated texture, or a flow sensation. In some embodiments, the usermay be able to select from a list of available haptic effects andassociate the haptic effect with one or more events. Further, in someembodiments, the user may be able to input and/or determine which ESFdevice(s) output the haptic effect. For example, in one embodiment, theuser may associate a haptic effect comprising a simulated texture with avirtual button press, and assign the ESF device associated with contactpoint 1104 b to output the haptic effect.

FIG. 12 shows an embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In this example,system 1200 comprises a user's hand 1204 holding a mouse 1202. In someembodiments, contact points 1206 a-c, in which the user's hand 1204contacts the mouse 1202, comprise ESF devices (not shown) for outputtinghaptic effects to the user. In embodiments, each of the ESF devicescomprises one or more ESF cells.

In some embodiments, the system 1200 may output one or more hapticeffects via the ESF devices associated with the contact points 1206 a-c.In some embodiments, the system 1200 may output one or more hapticeffects via one or more ESF devices upon the occurrence of an event. Insome embodiments, an event may comprise pressing a mouse button,hovering the mouse over a virtual object (e.g., an icon, program,window, or menu), or otherwise interacting with a virtual object. Forexample, in some embodiments, upon the user hovering the mouse 1202 overa certain virtual object, the system 1200 may output a haptic effect(e.g., a static ESF effect) via ESF devices associated with one or morecontact points 1206 a-c. In some embodiments, this haptic effect mayconvey information (e.g., priority, importance, guidance information, orobject type) to the user about the virtual object over which the mouseis hovering.

In some embodiments, the system 1200 may output haptic effects toprovide guidance information to a user. In some embodiments, the hapticeffects may be based on a user interaction with a virtual object. Forexample, in some embodiments, upon the user hovering the mouse 1202 overa virtual object, one or more haptic effects may be output to one ormore contact points 1206 a-c. Such haptic effects may inform the user asto which button (e.g., the left mouse button, the right mouse button, ora thumb button) the user should use to select the virtual object. Forexample, in some embodiments, the user may hover the mouse 1202 over awindow and, in response, the system 1200 may output a haptic effectcomprising a simulated vibration. In some embodiments, the simulatedvibration may be output via an ESF device associated with contact point1206 b, which may be associated with the left mouse button. Thesimulated vibration may, in some embodiments, indicate that the usershould select the window by clicking the left mouse button and/or thatother mouse 1202 buttons may be disabled.

In some embodiments, the system 1200 may output haptic effects upon theoccurrence of a button press. For example, if the user presses the rightmouse button, the system 1200 may output a haptic effect (e.g., asimulated vibration) via an ESF device associated with contact point1206 c, which is associated with the right mouse button. In someembodiments, the haptic effect may provide a confirmation to the user.For example, a confirmation that the system 1200 has received the input,that an object that the user is trying to select cannot be (or has been)selected, or that the mouse pointer is not located in the correct spoton the virtual object. Any number of ESF devices, configured in anynumber of arrangements, and located on any number of contact points on adevice (e.g., a mouse 1202) may be used to provide haptic effects to auser for any number of reasons.

FIG. 13 shows another embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In this example,system 1300 comprises a computing device 1302 with a display 1304. Insome embodiments, the computing device 1302 may comprise, for example, atablet, laptop, medical device, car computer system, or smart phone. Inthe example shown in FIG. 13, the display 1304 is outputting a virtualobject 1306. The virtual object may comprise, for example, a button,slider, menu, icon, virtual keyboard key, or other virtual interfacedevice. In some embodiments, a user may interact with the computingdevice 1302 and/or the virtual object 1306 by interacting with thedisplay 1304 (e.g., via the user's finger 1308).

In some embodiments, upon the occurrence of an event, the system 1300may output one or more haptic effects via the one or more ESF devicesassociated with the computing device 1302. For example, in someembodiments, one or more ESF devices may be associated with the display1304. Upon the user interacting with the display 1304, the system 1300may output an ESF haptic effect. For example, in some embodiments, thecomputing device 1302 may output a virtual button via the display 1304.Upon the user tapping the virtual button (e.g., with the user's finger1308), the computing device 1302 may output haptic effect comprising,for example, a confirmation ESF effect. The confirmation ESF effect maycomprise, for example, a simulated vibration. In some embodiments, theconfirmation ESF effect may provide information to a user. For example,the confirmation ESF effect may confirm that the system 1300 hasreceived the user input, that a virtual object that the user is tryingto select cannot be (or has been) selected, or that the user is notinteracting with the correct spot on the virtual object.

Additional Embodiments of Systems for Multi-output Haptic Effects

FIG. 14a shows an embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In someembodiments, the system 1400 may comprise a laptop computer, desktopcomputer tablet, e-reader, smart phone, computing system for a car,and/or any other suitable electronic device.

In this example, system 1400 comprises a user's finger 1402 contactingan ESF device 1404. In some embodiments, the ESF device 1404 maycomprise a single ESF cell. Further, the system 1400 comprises a sensor1406 (e.g., a capacitive, pressure, resistive, ambient light,temperature, or infrared sensor). In this example, the sensor 1406comprises a smaller surface area than the surface area of the ESF device1404, as shown in two dimensions in FIG. 14 b.

In some embodiments, the sensor 1406 may comprise a sensor (e.g., apressure sensor) configured to detect a contact between the user (e.g.,the user's finger 1402) and the surface associated with the ESF device1404. In some embodiments, the smaller surface area of the sensor 1406may allow for more of a user's body (e.g., finger 1402) to contact thesurface associated with the ESF device 1404 before the sensor 1406detects the contact. In some embodiments, if the system 1400 detects acontact between a user and the area associated with the sensor 1406, thesystem 1400 may output a haptic effect (e.g., a dynamic ESF effect). Forexample, in some embodiments, the sensor 1406 may comprise a contactsensor with an area that is 75% of the size of the surface area of theESF device 1404. If the user places a finger 1402 outside of the areaassociated with the contact sensor 1406, the system 1400 may not outputa haptic effect. However, if the user places a finger 1402 over alocation that is associated with the contact sensor 1406, the system1400 may output a haptic effect.

In some embodiments, the pressure necessary for the sensor 1406 todetect a contact between a user (e.g., a finger 1402) and the surfaceassociated with the ESF device 1404 may be based in part on user input,the user's identity (e.g., based on login information), demographicinformation (e.g., the user's age or gender), an ambient humidity,and/or other information. For example, in some embodiments, the user mayinput a gender. Based at least in part on the user's gender, the system1400 may determine a pressure threshold that must be exceeded before thesystem 1400 outputs a haptic effect. As another example, in someembodiments, the user may input a pressure threshold that must beexceeded before system 1400 outputs a haptic effect.

In some embodiments, the sensor 1406 (e.g., a capacitive sensor) may beconfigured to measure an area of contact between the user's finger 1402and a surface associated with the ESF device 1404. In some embodiments,the system 1400 may determine a haptic effect based at least in part onthe sensor 1406 signal. In some embodiments, the processor may determineif the contact area between the user's finger 1102 and the surfaceassociated with the ESF device 1104 has exceeded a threshold. In someembodiments, if such a threshold has been exceeded, the system 1400 mayoutput a haptic effect to the user. In some embodiments, the hapticeffect may comprise an ESF pulse (e.g., a 5 ms pulse) and/or randomnoise. Further, in some embodiments, the processor may determine if thecontact area between the user's finger 1402 and the surface associatedwith the ESF device 1404 is below the threshold. In some embodiments, ifthe contact area is below the threshold, the system 1400 may stopoutputting the haptic effect and/or output a different haptic effectcomprising, for example, a pulse. In some embodiments, the system 1400may output the haptic effect (e.g., the pulse) just prior to the contactarea between the user's finger 1402 and the surface associated with theESF device 1404 falling below the threshold. In some embodiments, themodulation of haptic effects based on a user's contact area exceeding orfalling below a threshold may result in the user perceiving sharperhaptic effect edges. That is, the boundaries of the haptic effect may bemore clearly defined to the user.

For example, in some embodiments, if the processor determines that theuser's finger is contacting more than 15% of the area of the surfaceassociated with the ESF device 1404, the processor may output a hapticeffect comprising, for example, a pulse followed by a simulated texture.Likewise, in some embodiments, if the processor determines that theuser's finger is contacting less than 15% of the area of the surfaceassociated with the ESF device 1404, the processor may stop outputtingthe haptic effect. In some embodiments, the user may perceive sharperhaptic effect edges as a result of the modulation of haptic effectsbased the area of contact between the user and the surface associatedwith the ESF device 1404.

In some embodiments, the system 1400 may determine the contact areathreshold based in part on the pressure of the user's body (e.g., theuser's finger 1402) against the surface associated with the ESF device1404, the speed at which the user's body is moving along the surfaceassociated with the ESF device 1404, an ambient humidity, and/or thehydration of the user's skin. Further, in some embodiments, thethreshold may be user defined. For example, in some embodiments, theuser may input an amount (e.g., by percentage) of contact area betweenthe user's finger 1402 and the surface associated with the ESF device1404 that the sensor 1406 should detect before the system 1400 outputs ahaptic effect. In some embodiments, if the threshold input by the useris surpassed, the system 1400 may output a haptic effect.

In some embodiments, the strength of the haptic effect perceived by auser may decrease as the contact area between the user's finger 1402 andthe surface associated with the ESF device 1404 decreases. In someembodiments, this perceived decrease in haptic effect strength mayresult from the capacitive coupling between the user's finger 1402 andthe ESF device 1404 decreasing. To alleviate this haptic effectperceptibility reduction, in some embodiments, the system 1400 mayoutput haptic effects based in part on the area of contact between auser's finger 1402 and the surface associated with the ESF device 1404.In some embodiments, the system 1400 may output haptic effects withincreasing magnitude as the area of contact between a user's finger 1402and the surface associated with the ESF device 1404 decreases.Similarly, in some embodiments, the system 1400 may output hapticeffects with decreasing magnitude as the area of contact between auser's finger 1402 and the surface associated with the ESF device 1404increases. For example, in some embodiments, as a user moves a fingerfrom the middle of a surface associated with the ESF device 1404 to itsedges, less of the user's finger 1402 may be contacting the surfaceassociated with the ESF device 1404. In response, the system 1400 mayoutput a haptic effect with an increased magnitude, for example, doublethe magnitude.

In some embodiments, the system 1400 may output haptic effect signalswith wave forms (e.g., sine wave, square wave, triangle wave, or sawtooth wave) and/or frequencies modulated based in part on the area ofcontact between a user's finger 1402 and the surface associated with theESF device 1404. For example, in some embodiments, as a user's fingerapproaches the middle of the surface associated with the ESF device1404, the system 1400 may output an ESF signal comprising a sine wave.Conversely, as the user's finger approaches the edges of the surfaceassociated with the ESF device, in which less of the user's finger 1402may be contacting the surface associated with the ESF device 1404, thesystem 1400 may output an ESF signal comprising a square wave. In someembodiments, a user may perceive a haptic effect generated from an ESFsignal comprising a square wave as stronger than a haptic effectgenerated from an ESF signal comprising a sine wave.

FIG. 15 shows an embodiment of an external view of a system forproviding multi-output electrostatic haptic effects. In this example,ESF cell 1500 comprises an insulator 1502 coupled to a conductor 1504.

The strength of a haptic effect perceived by a user may depend on theamount of contact area between the user's finger and a surfaceassociated with an ESF cell 1500. As a user moves a finger from themiddle of the ESF cell 1500 towards the edges of the ESF cell 1500, lessof the user's finger may contact the surface associated with the ESFcell 1500. In a traditional ESF cell (e.g., the ESF cell shown in FIG.2), in which the conductor and the insulator are planar, this reducedcontact area may result in the user perceiving a haptic effect withdecreasing strength. The embodiment shown FIG. 15, however, mayalleviate this problem.

In the example shown in FIG. 15, the thickness of the insulator 1502tapers towards the edges of the ESF cell 1500. Conversely, the thicknessof the conductor 1504 increases towards the edges of the ESF cell 1500.As a user moves a finger along the surface of the ESF cell 1500, thedecreased insulator 1502 thickness at the edges of the ESF cell 1500 mayallow for stronger capacitive coupling between the user and theconductor 1504. That is, in some embodiments, as the thickness of theinsulator 1502 decreases, the strength of the capacitive couplingbetween a user's finger and the ESF cell 1500 may increase. Theincreased strength of the capacitive coupling may, in some embodiments,combat the effects of the decreasing contact area between the user'sfinger and the ESF cell 1500 on the perceived haptic effect strength. Insome embodiments, this may result in the user perceiving pronouncedhaptic effect edges and/or a more consistent haptic effect.

Illustrative Methods for Multi-output Electrostatic Haptic Effects

FIG. 16 is a flow chart of steps for performing a method for providingmulti-output electrostatic haptic effects according to one embodiment.In some embodiments, the steps in FIG. 16 may be implemented in programcode that is executed by a processor, for example, the processor in ageneral purpose computer, a mobile device, or a server. In someembodiments, these steps may be implemented by a group of processors. Insome embodiments one or more steps shown in FIG. 16 may be omitted orperformed in a different order. Similarly, in some embodiments,additional steps not shown in FIG. 16 may also be performed. The stepsbelow are described with reference to components described above withregard to system 100 shown in FIG. 1.

The method 1600 begins at step 1602 when a sensor 108 or 130 determinesa contact between a user and a surface associated with an ESF device.For example, in some embodiments, a user may contact the touch sensitivesurface 116 or the ESF device with a finger.

The method 1600 continues at step 1604 when the sensor 108 or 130determines the area of the contact between a user (e.g., the user'sfinger) and the surface associated with the ESF device. For example, thesensor 130 may comprise capacitive sensor as described above.

The method 1600 continues at step 1606 when sensor 108 or 130 transmitsa sensor signal associated with the contact determination and/or thearea determination to processor 102. In some embodiments, the sensorsignal may comprise an analog signal. In other embodiments, the sensorsignal may comprise a digital signal.

The method 1600 continues at step 1608 when processor 102 determines ahaptic effect based at least in part on the sensor signal. The hapticeffect may comprise, for example, a static ESF effect or a confirmationESF effect. In some embodiments, the haptic effect may comprise asimulated texture, a simulated vibration, a change in a perceivedcoefficient of friction, or a flow sensation. In some embodiments, theprocessor 102 may determine a plurality of haptic effects.

In some embodiments, the processor 102 may determine the haptic effectbased in part on a signal from sensor 108 or 130, an event, analgorithm, or a haptic profile. For example, in some embodiments, theprocessor 102 may associate an incoming call notification with a hapticeffect comprising a simulated vibration. In some embodiments, theprocessor 102 may rely on programming contained in haptic effectdetermination module 126 to determine the haptic effect. In someembodiments, haptic effect determination module 126 may comprise alookup table. In some embodiments, processor 102 may use the lookuptable to associate events with particular haptic effects (e.g.,textures).

In some embodiments, users may have “haptic profiles” in which a usercan determine and save in memory 104 a “profile” of the haptic effectsthe user would like associated with particular events. For example, insome embodiments, a user can select from a list of available hapticeffects and associate one of these haptic effects with a real or virtualbutton on a user interface. In one embodiment, the list may comprise,for example, haptic effects such as fast flow sensation, slow flowsensation, intense vibration, light vibration, or textures such asbumpy, rubbery, or smooth. In such an embodiment, the processor 102 mayconsult with the user's haptic profile to determine which haptic effectto generate. For example, if the user's haptic profile associatesinteraction with the button with a fast flow sensation, in response tothe user placing a finger over the button, processor 102 may determine ahaptic effect in which the user perceives a fast flow sensation.

The method 1600 continues at step 1610 when processor 102 transmits ahaptic signal associated with the haptic effect to the ESF controller120. The haptic signal is based at least in part on the haptic effect.In some embodiments, the processor 102 may access drive signals storedin memory 104 and associated with particular haptic effects. In oneembodiment, a signal is generated by accessing a stored algorithm andinputting parameters associated with an effect. For example, in such anembodiment, an algorithm may output data for use in generating a drivesignal based on amplitude and frequency parameters. As another example,a haptic signal may comprise data to be decoded by the actuator. Forinstance, the actuator may itself respond to commands specifyingparameters such as amplitude and frequency.

The method 1600 continues at step 1612 when the ESF controller 120receives the haptic signal. In some embodiments, the haptic signal maycomprise a digital signal. In other embodiments, the haptic signal maycomprise an analog signal. In some embodiments, the ESF controller 120may perform analog-to-digital conversion.

The method 1600 continues at step 1614 when the ESF controller 120determines an ESF signal. In some embodiments, the ESF controller 120may determine an ESF signal based at least in part on the haptic signal.In some embodiments, the ESF signal may comprise an amplified, inverted,or frequency-shifted version of the haptic signal. In some embodiments,the ESF controller 120 may determine a plurality of ESF signals. In someembodiments, each of the plurality of ESF signals may be configured tobe output to a different ESF device and/or ESF cell.

In some embodiments, the ESF controller 120 may comprise a processor ora microcontroller. The processor or microcontroller may rely onprogramming contained in memory to determine the ESF signal to output toan ESF device and/or ESF cell. In some embodiments, the programmingcontained in the memory may comprise a lookup table. In someembodiments, the processor or microcontroller may use the lookup tableto associate a haptic signal with an ESF signal to output. In someembodiments, the programming contained in the memory may comprise analgorithm. In some embodiments, the processor or microcontroller maydetermine the ESF signal by applying data from the haptic signal to thealgorithm.

The method 1600 continues at step 1616 when the ESF controller 120transmits an ESF signal associated with the haptic signal to hapticoutput device 118. In some embodiments, the ESF controller 120 maytransmit a plurality of ESF signals to one or more ESF devices and/orone more ESF cells within the one or more ESF devices. In someembodiments, the ESF controller 120 may access drive signals stored inmemory and associated with particular ESF-based haptic effects or hapticsignals. In one embodiment, a signal may be generated by accessing astored algorithm and inputting parameters associated with an effect. Forexample, in such an embodiment, an algorithm may output data for use ingenerating a drive signal based on amplitude and frequency parameters.As another example, an ESF signal may comprise data to be decoded by theactuator. For instance, the actuator may itself respond to commandsspecifying parameters such as amplitude and frequency.

The method 1600 continues at step 1618 when haptic output device 118outputs the haptic effect. Haptic output device 118 receives one or moreESF signals and outputs the haptic effect.

Advantages of Multi-output Electrostatic Haptic Effects

There are numerous advantages to multi-output electrostatic hapticeffects. In some embodiments, multi-output electrostatic haptic effectsmay allow a user to perceive haptic effects without moving a body parttangentially or perpendicularly to a surface associated with a hapticoutput device, unlike with traditional ESF-based haptic effects. Forexample, traditionally, a user could only perceive dynamic ESF effects,in which the user would have to move a finger tangentially across asurface associated with a haptic output device in order to perceive thehaptic effect. In some embodiments, however, the user may be able toperceive a haptic effect merely by touching (e.g., tapping or grasping)the surface comprising the haptic output device. Thus, some embodimentsmay allow for ESF devices to be used in new ways, such as to provideconfirmatory haptic feedback (e.g., upon a user interacting with avirtual button), guidance information (e.g., that a user can or cannotpress a button), or other information (e.g., about a virtual object) toa user.

Further, in some embodiments, multi-output electrostatic haptic effectsmay allow for isolated ESF-based haptic effects to be output at multiplecontact points on a computing device simultaneously. For example, insome embodiments, multiple ESF devices may be positioned at variouscontact points around a computing device (e.g., a game controller) andconfigured to output different, isolated haptic effects upon theoccurrence of an event (e.g., an explosion in a game). In someembodiments, the user may be able to perceive each isolated hapticeffect independently of, or in combination with, other haptic effects.Some embodiments may provide a more realistic and immersive hapticexperience for a user.

In some embodiments, manufacturers may be able to omit haptic feedbackcomponents from their computing devices, because the computing devicescan be communicatively coupled to the haptic output devices. Forexample, manufacturers of mobile phones (e.g., smart phones), tablets,laptop computers, desktop computers, or e-readers may be able to removehaptic feedback components from within the devices, because the devicesmay be able to interface (e.g., via IEEE 802.11 or Bluetooth) withexternal haptic output devices. As a result, manufacturers may be ableto produce smaller, lighter, and/or cheaper devices. Further,embodiments of the present disclosure may enable legacy devices that donot include haptic functionality to be programmed to control hapticoutput devices of the type described herein.

Further, some embodiments may provide ESF-based haptic effects withsharper edges. Traditionally, ESF haptic effects did not have clearlydefined edges because the strength of the ESF haptic effect wasdependent on the amount of contact area between a user's finger and asurface associated with an ESF haptic output device. Thus, as a user'sfinger moved from the edges of a surface associated with theelectrostatic haptic output device to the middle, the ESF haptic effectperceived by a user started weaker and gradually became stronger.However, in some embodiments, a computing device may be able to modulatethe characteristics of the ESF signal associated with ESF haptic effect,or the timing for outputting the ESF haptic effect (e.g., based onwhether an area or pressure threshold is exceeded), which may providemore clearly defined haptic effect edges to a user. Further, someembodiments may comprise one or more ESF cells with a tapered insulationlayer, which may provide more clearly defined haptic effect edges to auser. Providing more clearly defined haptic effect edges may, in someembodiments, allow users to more readily locate buttons or other virtualobjects, and/or may provide a more realistic haptic experience to auser.

General Considerations

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process that is depicted as aflow diagram or block diagram. Although each may describe the operationsas a sequential process, many of the operations can be performed inparallel or concurrently. In addition, the order of the operations maybe rearranged. A process may have additional steps not included in thefigure. Furthermore, examples of the methods may be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, in which other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered. Accordingly, the above description doesnot bound the scope of the claims.

The use of “adapted to” or “configured to” herein is meant as open andinclusive language that does not foreclose devices adapted to orconfigured to perform additional tasks or steps. Additionally, the useof “based on” is meant to be open and inclusive, in that a process,step, calculation, or other action “based on” one or more recitedconditions or values may, in practice, be based on additional conditionsor values beyond those recited. Headings, lists, and numbering includedherein are for ease of explanation only and are not meant to belimiting.

Embodiments in accordance with aspects of the present subject matter canbe implemented in digital electronic circuitry, in computer hardware,firmware, software, or in combinations of the preceding. In oneembodiment, a computer may comprise a processor or processors. Theprocessor comprises or has access to a computer-readable medium, such asa random access memory (RAM) coupled to the processor. The processorexecutes computer-executable program instructions stored in memory, suchas executing one or more computer programs including a sensor samplingroutine, selection routines, and other routines to perform the methodsdescribed above.

Such processors may comprise a microprocessor, a digital signalprocessor (DSP), an application-specific integrated circuit (ASIC),field programmable gate arrays (FPGAs), and state machines. Suchprocessors may further comprise programmable electronic devices such asPLCs, programmable interrupt controllers (PICs), programmable logicdevices (PLDs), programmable read-only memories (PROMs), electronicallyprogrammable read-only memories (EPROMs or EEPROMs), or other similardevices.

Such processors may comprise, or may be in communication with, media,for example tangible computer-readable media, that may storeinstructions that, when executed by the processor, can cause theprocessor to perform the steps described herein as carried out, orassisted, by a processor. Embodiments of computer-readable media maycomprise, but are not limited to, all electronic, optical, magnetic, orother storage devices capable of providing a processor, such as theprocessor in a web server, with computer-readable instructions. Otherexamples of media comprise, but are not limited to, a floppy disk,CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configuredprocessor, all optical media, all magnetic tape or other magnetic media,or any other medium from which a computer processor can read. Also,various other devices may comprise computer-readable media, such as arouter, private or public network, or other transmission device. Theprocessor, and the processing, described may be in one or morestructures, and may be dispersed through one or more structures. Theprocessor may comprise code for carrying out one or more of the methods(or parts of methods) described herein.

While the present subject matter has been described in detail withrespect to specific embodiments thereof, it will be appreciated thatthose skilled in the art, upon attaining an understanding of theforegoing may readily produce alterations to, variations of, andequivalents to such embodiments. Accordingly, it should be understoodthat the present disclosure has been presented for purposes of examplerather than limitation, and does not preclude inclusion of suchmodifications, variations and/or additions to the present subject matteras would be readily apparent to one of ordinary skill in the art.

What is claimed:
 1. A system comprising: a handheld device having afirst contact point for gripping the handheld device and a secondcontact point, the first contact point being on a non-display surface ofthe handheld device, wherein the handheld device comprises: a firstplurality of ESF cells positioned at the first contact point and usableto stimulate a first finger when the handheld device is gripped, eachESF cell of the first plurality of ESF cells being configured tostimulate the first finger by creating a respective electrostatic forcebetween a respective conductor of the ESF cell and the first finger; anda second plurality of ESF cells positioned at the second contact pointand usable to stimulate a second finger when the handheld device isgripped, each ESF cell of the second plurality of ESF cells beingconfigured to stimulate the second finger by creating a respectiveelectrostatic force between a respective conductor of the ESF cell andthe second finger; a processor; and a memory on which instructionsexecutable by the processor are stored to cause the processor to:determine a first haptic effect; transmit a first signal configured tocause the first plurality of ESF cells to output the first hapticeffect; determine a second haptic effect; and transmit a second signalconfigured to cause the second plurality of ESF cells to output thesecond haptic effect.
 2. The system of claim 1, wherein at least two ESFcells in the first plurality of ESF cells are positioned to interlockwith one another.
 3. The system of claim 1, further comprising an ESFcontroller configured to receive the first signal from the processor andtransmit an ESF signal based on the first signal to the first pluralityof ESF cells, wherein the ESF signal comprises a plurality of sinusoidswith varying frequencies, each sinusoid of the plurality of sinusoidsbeing configured to cause a different ESF cell of the first plurality ofESF cells to generate a respective ESF effect.
 4. The system of claim 1,wherein the first plurality of ESF cells is positioned on a side of thehandheld device and the second plurality of ESF cells is positioned on amechanical button of the handheld device.
 5. The system of claim 1,wherein the first haptic effect comprises a change in a perceivedcoefficient of friction, a flow sensation, a simulated texture, or asimulated vibration.
 6. The system of claim 1, further comprising asensor configured to detect a contact with at least one ESF cell of thefirst plurality of ESF cells and transmit a sensor signal associatedwith the contact to the processor; and wherein the memory furtherincludes instructions executable by the processor to cause the processorto determine the first haptic effect based at least in part on thesensor signal.
 7. The system of claim 6, wherein the sensor is furtherconfigured to detect a contact surface area between the finger and theat least one ESF cell; and wherein the memory further includesinstructions executable by the processor to cause the processor todetermine the first haptic effect based at least in part on the contactsurface area.
 8. The system of claim 6, wherein a first surface area ofthe sensor is smaller than a second surface area of the at least one ESFcell, and wherein the sensor is positioned beneath the at last one ESFcell.
 9. The system of claim 1, wherein at least one ESF cell of thefirst plurality of ESF cells comprises an insulator layer having one ormore edges that taper in thickness and a conductive layer having one ormore edges that expand in thickness.
 10. The system of claim 1, whereinthe first haptic effect comprises a plurality of sub-haptic effects, andwherein the memory further comprises instructions executable by theprocessor to cause the processor to cause the first plurality of ESFcells to be actuated in a predetermined pattern for generating the firsthaptic effect.
 11. The system of claim 10, wherein the first hapticeffect comprises a sensation of movement, and wherein the predeterminedpattern comprises sequentially actuating each ESF cell in the firstplurality of ESF cells to generate the sensation of movement.
 12. Thesystem of claim 1, wherein the first plurality of ESF cells arepositioned on a first side of an outer housing of the handheld deviceand the second plurality of ESF cells are positioned on a second side ofthe outer housing of the handheld device that is different from thefirst side.
 13. The system of claim 1, wherein the second contact pointis also for gripping the handheld device.
 14. The system of claim 13,wherein the handheld device is a stylus, a mouse, or a controllerconfigured to remotely control a video-game system.
 15. A methodcomprising: determining, by a processor, a first haptic effect; causing,by the processor, a first plurality of ESF cells positioned at a firstcontact point on a non-display surface of a handheld device to outputthe first haptic effect to a first finger, each ESF cell of the firstplurality of ESF cells being configured to stimulate the first finger bycreating a respective electrostatic force between a respective conductorof the ESF cell and the first finger; determining, by the processor, asecond haptic effect and causing, by the processor, a second pluralityof ESF cells positioned at a second contact point to output the secondhaptic effect to a second finger, each ESF cell of the second pluralityof ESF cells being configured to stimulate the second finger by creatinga respective electrostatic force between a respective conductor of theESF cell and the second finger, wherein the handheld device is grippedsuch that the first finger contacts the first contact point.
 16. Themethod of claim 15, wherein the first plurality of ESF cells compriseinterlocking ESF cells.
 17. The method of claim 15, wherein the firstplurality of ESF cells is positioned on a side of the handheld deviceand the second plurality of ESF cells is positioned on a mechanicalbutton of the handheld device.
 18. The method of claim 15, whereincausing the first plurality of ESF cells to output the first hapticeffect comprises: transmitting, by the processor, a signal to an ESFcontroller; determining, by the ESF controller, an ESF signal based onthe signal from the processor, wherein the ESF signal comprises aplurality of sinusoids with varying frequencies, each sinusoid of theplurality of sinusoids being configured to cause a different ESF cell ofthe first plurality of ESF cells to generate a respective ESF effect;and transmitting, by the ESF controller, the ESF signal to the firstplurality of ESF cells.
 19. The method of claim 15, further comprising:detecting, by a sensor, a contact with at least one ESF cell of thefirst plurality of ESF cells; transmitting, by the sensor, a sensorsignal associated with the contact to the processor; and determining, bythe processor, the first haptic effect based at least in part on thesensor signal.
 20. A non-transient computer readable medium comprisingprogram code, which when executed by a processor is configured to causethe processor to: determine a first haptic effect; transmit a firstsignal configured to cause a first plurality of ESF cells positioned ata first contact point on a non-display surface of a handheld device tooutput the first haptic effect to a first finger, each ESF cell of thefirst plurality of ESF cells being configured to stimulate the firstfinger by creating a respective electrostatic force between a respectiveconductor of the ESF cell and the first finger; determine a secondhaptic effect; and transmit a second signal configured to cause a secondplurality of ESF cells positioned at a second contact point to outputthe second haptic effect to a second finger, each ESF cell of the secondplurality of ESF cells being configured to stimulate the second fingerby creating a respective electrostatic force between a respectiveconductor of the ESF cell and the second finger, wherein the handhelddevice is configured to be gripped such that the first finger contactsthe first contact point.
 21. The non-transient computer readable mediumof claim 20, wherein the second plurality of ESF cells is positioned ona mechanical button.
 22. The non-transient computer readable medium ofclaim 20, wherein the first signal is transmitted to an ESF controllerconfigured to receive the first signal from the processor and transmitan ESF signal based on the first signal to the first plurality of ESFcells, wherein the ESF signal comprises a plurality of sinusoids withvarying frequencies, each sinusoid of the plurality of sinusoidsconfigured to cause a different ESF cell of the first plurality of ESFcells to generate a respective ESF effect.